51f5955c5712b5a5d2ad90d7234056d96d89ead7,src/main/java/org/highj/data/impl/treeMap/Node.java,Node,deleteEQ,#Ord#K#,346

Before Change


    }

    private Node<K, V> deleteEQ(Ord<? super K> ord, K k) {
        if (color == RED && left.isEmpty() && right.isEmpty()) {
            return empty();
        } else if (!left.isEmpty() && left.color == RED) {
            Node<K, V> newRight = new Node<>(RED, bHeight, key, value, left.right, right).delete_(ord, k);
            return balanceR(color, bHeight, left.key, left.value, left.left, newRight);
        } else if (color == RED) {
            T2<K, V> m = right.minimum();
            if (right.isBlackLeftBlack()) {
                if (left.isBlackLeftRed()) {
                    Node<K, V> newRightRight = right.turn(RED).deleteMin_();
                    Node<K, V> newRight = balanceR(BLACK, left.bHeight, m._1(), m._2(), left.right, newRightRight);
                    return balanceR(RED, bHeight, left.key, left.value, left.left.turn(BLACK), newRight);
                }
                return balanceR(BLACK, bHeight - 1, m._1(), m._2(), left.turn(RED), right.turn(RED).deleteMin_());
            }
            Node<K, V> newRight = new Node<>(BLACK, right.bHeight, right.key, right.value, right.left.deleteMin_(), right.right);
            return new Node<>(RED, bHeight, m._1(), m._2(), left, newRight);
        }
        throw new AssertionError("deleteEQ");
    }

After Change


                return balanceR(BLACK, bHeight - 1, m._1(), m._2(), left.turn(RED), right.turn(RED).deleteMin_());
            }
            Node<K, V> newRight = black(right.bHeight, right.key, right.value, right.left.deleteMin_(), right.right);
            return red(bHeight, m._1(), m._2(), left, newRight);
        }
        throw new AssertionError("deleteEQ");
    }